package dao

import (
	"context"
	"encoding/json"
	"fmt"

	global "lgb24kcs.com/im/config"
	"lgb24kcs.com/im/internal/model"
)

// var cxt = context.Background()

// GetGroupMembers 获取群聊成员
func GetGroupMembers(groupID string) ([]string, error) {
	return global.App.Redis.SMembers(context.TODO(), fmt.Sprintf("group_members:%s", groupID)).Result()

}

// SavePrivateMessage 存储私聊信息
func SavePrivateMessage(msg model.Message) error {
	msgJSON, _ := json.Marshal(msg)
	// 使用redis的hash存储私聊信息，key为private:用户ID，field为时间戳，value为消息内容
	return global.App.Redis.HSet(context.TODO(), fmt.Sprintf("private:%s", msg.To), fmt.Sprintf("%d", msg.Timestamp), msgJSON).Err()
}

// GetGroSaveGroupMessageupMembers 存储群聊信息
func SaveGroupMessage(msg model.Message) error {
	msgJSON, _ := json.Marshal(msg)
	// 使用redis的hash存储群聊信息，key为group:群号，field为时间戳，value为消息内容
	return global.App.Redis.HSet(context.TODO(), fmt.Sprintf("group:%s", msg.To), fmt.Sprintf("%d", msg.Timestamp), msgJSON).Err()
}
